﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Foothill.Model;

namespace Foothill.Service.UserAccount
{
    public interface IUserAccountService
    {
        UserAccountDto GetUserAccountDetailsByUserName(string username);

        UserAccountDto GetUserAccountDetailsByUserId(int userId);

        void SavePost(int userId, int postId);

        bool RecoverPassword(string email, out string errorMessage);

        bool ChangePassword(CurrentLoginUser loginUser, string currentPassword, string newPassword,
            string confirmPassword, IList<ChangePasswordFields> fieldsToHighlight, out string errorMessage);

        bool ChangePasswordAfterLoginUsingTempPassword(CurrentLoginUser loginUser, string newPassword, string confirmPassword, out string errorMessage);

        bool UpdateUserAccount(int userId, UserAccountDto dto);

        string GetLogoFilePath(int userId, string uploadedPhotoName);

        string GetProfilePhotoFilePath(int userId, string uploadedPhotoName);

        bool UpdateLogoFilePath(int userId, string logoFilePath);

        bool UpdateProfilePhotoFilePath(int userId, string filePath);

        string GetLogoFileUrl(string filePath);

        string GetProfilePhotoFileUrl(string filePath);
    }
}
